Merged from gtk-2-6:
authorFederico Mena Quintero <federico@ximian.com>
Wed, 30 Mar 2005 21:48:10 +0000 (21:48 +0000)
committerFederico Mena Quintero <federico@src.gnome.org>
Wed, 30 Mar 2005 21:48:10 +0000 (21:48 +0000)
2005-03-30  Federico Mena Quintero  <federico@ximian.com>

Merged from gtk-2-6:

Fix #170755:

* gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing
if the row which changed is the same as the row being edited.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtktreeview.c

index 8b72d3cb3b97645705e2ce8a19e3a41aa25dc14e..fce692ad17700502de3fe3a0ec80c25227295f90 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-03-30  Federico Mena Quintero  <federico@ximian.com>
+
+       Merged from gtk-2-6:
+
+       Fix #170755:
+
+       * gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing
+       if the row which changed is the same as the row being edited.
+
 2005-03-30  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): 
index 8b72d3cb3b97645705e2ce8a19e3a41aa25dc14e..fce692ad17700502de3fe3a0ec80c25227295f90 100644 (file)
@@ -1,3 +1,12 @@
+2005-03-30  Federico Mena Quintero  <federico@ximian.com>
+
+       Merged from gtk-2-6:
+
+       Fix #170755:
+
+       * gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing
+       if the row which changed is the same as the row being edited.
+
 2005-03-30  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): 
index 8b72d3cb3b97645705e2ce8a19e3a41aa25dc14e..fce692ad17700502de3fe3a0ec80c25227295f90 100644 (file)
@@ -1,3 +1,12 @@
+2005-03-30  Federico Mena Quintero  <federico@ximian.com>
+
+       Merged from gtk-2-6:
+
+       Fix #170755:
+
+       * gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing
+       if the row which changed is the same as the row being edited.
+
 2005-03-30  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): 
index d85df0b050ff43165050c6afda0f4afc17e9715d..308607377819826ce0de9b9ab2b0dfa677cf6c07 100644 (file)
@@ -7042,6 +7042,7 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
   gboolean free_path = FALSE;
   gint vertical_separator;
   GList *list;
+  GtkTreePath *cursor_path;
 
   g_return_if_fail (path != NULL || iter != NULL);
 
@@ -7050,9 +7051,18 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
      */
     return;
 
-  if (tree_view->priv->edited_column)
+  if (tree_view->priv->cursor != NULL)
+    cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
+  else
+    cursor_path = NULL;
+
+  if (tree_view->priv->edited_column &&
+      (cursor_path == NULL || gtk_tree_path_compare (cursor_path, path) == 0))
     gtk_tree_view_stop_editing (tree_view, TRUE);
 
+  if (cursor_path != NULL)
+    gtk_tree_path_free (cursor_path);
+
   gtk_widget_style_get (GTK_WIDGET (data), "vertical-separator", &vertical_separator, NULL);
 
   if (path == NULL)